package com.wuh.model;

import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

/**
 * 公开课信息表(ClassInfor)实体类
 */
public class ClassInfor extends BasePage implements Serializable {

    private Integer classId;
    /**
    * 公开课类别
    */
    private Integer classType;
    /**
    * 讲师id
    */
    private Integer teacherId;
    /**
    * 群组id
    */
    private Integer groupId;
    /**
    * 课程标题
    */
    private String classTitle;
    /**
    * 课程日期
    */
    private Date startDate;
    /**
    * 开始日期
    */
    @DateTimeFormat(pattern = "HH:mm")
    private Date startTime;
    /**
    * 结束时间
    */
    @DateTimeFormat(pattern = "HH:mm")
    private Date endTime;
    /**
    * 适合人群
    */
    private String fitPerson;
    /**
    * 宣传图片路径
    */
    private String imgUrl;
    /**
    * 课程安排
    */
    private String classDesc;
    /**
    * 上课方式
    */
    private String classMethod;
    /**
    * 听课指南
    */
    private String classGuide;
    /**
    * 最后修改时间
    */
    private Date lastModify;
    /**
    * 报名人数
    */
    private Integer signupNum;
    /**
    * 状态 0：开始报名 1：结束报名 2 关闭 3已经结束
    */
    private Integer status;

    /**
     * 引用公开课文件实体
     * 公开课和公开课文件为一对多关系
     */
    private List<ClassAttachment> classAttachment;

    /**
     * 引用教师实体类
     * 一对一关系
     */
    private  Teacher teacher;

    public Teacher getTeacher() {
        return teacher;
    }

    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }

    public List<ClassAttachment> getClassAttachment() {
        return classAttachment;
    }

    public void setClassAttachment(List<ClassAttachment> classAttachment) {
        this.classAttachment = classAttachment;
    }

    public Integer getClassId() {
        return classId;
    }

    public void setClassId(Integer classId) {
        this.classId = classId;
    }

    public Integer getClassType() {
        return classType;
    }

    public void setClassType(Integer classType) {
        this.classType = classType;
    }

    public Integer getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Integer teacherId) {
        this.teacherId = teacherId;
    }

    public Integer getGroupId() {
        return groupId;
    }

    public void setGroupId(Integer groupId) {
        this.groupId = groupId;
    }

    public String getClassTitle() {
        return classTitle;
    }

    public void setClassTitle(String classTitle) {
        this.classTitle = classTitle;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getFitPerson() {
        return fitPerson;
    }

    public void setFitPerson(String fitPerson) {
        this.fitPerson = fitPerson;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public String getClassDesc() {
        return classDesc;
    }

    public void setClassDesc(String classDesc) {
        this.classDesc = classDesc;
    }

    public String getClassMethod() {
        return classMethod;
    }

    public void setClassMethod(String classMethod) {
        this.classMethod = classMethod;
    }

    public String getClassGuide() {
        return classGuide;
    }

    public void setClassGuide(String classGuide) {
        this.classGuide = classGuide;
    }

    public Date getLastModify() {
        return lastModify;
    }

    public void setLastModify(Date lastModify) {
        this.lastModify = lastModify;
    }

    public Integer getSignupNum() {
        return signupNum;
    }

    public void setSignupNum(Integer signupNum) {
        this.signupNum = signupNum;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "ClassInfor{" +
                "classId=" + classId +
                ", classType=" + classType +
                ", teacherId=" + teacherId +
                ", groupId=" + groupId +
                ", classTitle='" + classTitle + '\'' +
                ", startDate=" + startDate +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", fitPerson='" + fitPerson + '\'' +
                ", imgUrl='" + imgUrl + '\'' +
                ", classDesc='" + classDesc + '\'' +
                ", classMethod='" + classMethod + '\'' +
                ", classGuide='" + classGuide + '\'' +
                ", lastModify=" + lastModify +
                ", signupNum=" + signupNum +
                ", status='" + status + '\'' +
                ", classAttachment=" + classAttachment +
                ", teacher=" + teacher +
                '}';
    }
}